<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui"
      xmlns:h="http://java.sun.com/jsf/html">

    <body>

        <ui:composition template="./../../WEB-INF/templates/MainTemplate.xhtml">

            <ui:define name="bar">
                <h:form id="barForm">
                    <p:panel id="barPanel" styleClass="noMargin noPadding noBorder">
                        <p:commandButton styleClass="actionButton" id="nuevoProductoButton" value="#{messages.NuevoProducto}" onsuccess="dialogoNuevoProducto.show();" update=":dialogoForm:panelDialogoNuevo" actionListener="#{nuevoProductoBean.reiniciarProducto()}"></p:commandButton>
                        <p:commandButton styleClass="actionButton" disabled="#{listadoProductosBean.entidadElegida==null}" id="duplicarProductoButton" value="#{messages.Duplicar}" actionListener="#{listadoProductosBean.elegirEntidad()}" onsuccess="dialogoNuevoProducto.show()" update=":dialogoForm:panelDialogoNuevo"></p:commandButton>
                        <p:commandButton styleClass="actionButton" disabled="#{listadoProductosBean.entidadElegida==null}" id="editarProductoButton" process="@this" value="#{messages.Editar}" actionListener="#{listadoProductosBean.elegirEntidad()}" oncomplete="dialogoEditarProducto.show()" update=":dialogoForm:panelDialogoEditar"></p:commandButton>
                        <p:commandButton styleClass="actionButton" id="filtrarProductoButton" value="#{messages.Filtrar}" onclick="dialogoFiltrarProducto.show();"></p:commandButton>  
                        <p:commandButton styleClass="actionButton" disabled="#{listadoProductosBean.entidadElegida==null}" id="historicoProductoButton" onsuccess="dialogoHistoricoProducto.show()" value="#{messages.HistoricoProducto}" update=":dialogoForm:panelDialogoHistorico" actionListener="#{listadoProductosBean.elegirEntidad()}" ></p:commandButton>                
                    </p:panel>
                </h:form>
            </ui:define>

            <ui:define name="dialogs">
                <h:form id="dialogoForm">
                <p:dialog modal="true" id="dialogoNuevoProducto" widgetVar="dialogoNuevoProducto"  header="#{messages.NuevoProducto}">
                    <p:panel id="panelNuevoProducto" styleClass="noBorder noPadding noMargin">
                        <h:panelGrid id="panelDialogoNuevo" columns="4">
                            <p:outputLabel for="descripcion" value="#{messages.Nombre}"></p:outputLabel>
                            <p:inputText required="true" id="descripcion" value="#{nuevoProductoBean.nuevoProducto.descripcion}">
                                <f:validateLength maximum="20"></f:validateLength>
                            </p:inputText>

                            <p:outputLabel for="color" value="#{messages.Color}"></p:outputLabel>
                            <p:inputText required="true" id="color" value="#{nuevoProductoBean.nuevoProducto.color}">
                                <f:validateLength maximum="8"></f:validateLength>
                            </p:inputText>

                            <p:outputLabel for="cotizacion" value="#{messages.Cotizacion}"></p:outputLabel>
                            <p:inputText required="true" id="cotizacion" value="#{nuevoProductoBean.nuevoProducto.cotizacion}">
                                <f:convertNumber minFractionDigits="2" maxFractionDigits="2" />
                            </p:inputText>

                            <p:outputLabel for="pvpEsp" value="#{messages.PvpEsp}"></p:outputLabel>
                            <p:inputText required="true" id="pvpEsp" value="#{nuevoProductoBean.nuevoProducto.pvp}">
                                <f:convertNumber minFractionDigits="2" maxFractionDigits="2" />
                            </p:inputText>

                            <p:outputLabel for="d" value="#{messages.D}"></p:outputLabel>
                            <p:selectOneMenu filter="true" filterMatchMode="contains" converter="#{dConverter}" id="d" required="true" value="#{nuevoProductoBean.nuevoProducto.d}" label="#{messages.D}">
                                <f:selectItem itemLabel="#{messages.SeleccionaD}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.ds}" var="d" itemLabel="#{d.descripcion}" itemValue="#{d}"></f:selectItems>
                            </p:selectOneMenu>

                            <p:outputLabel for="c" value="#{messages.C}"></p:outputLabel>
                            <p:selectOneMenu filter="true" filterMatchMode="contains" converter="#{cConverter}" required="true" id="c" value="#{nuevoProductoBean.nuevoProducto.c}" effect="fade">  
                                <f:selectItem itemLabel="#{messages.SeleccionaC}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.cs}" var="c" itemLabel="#{c.descripcion}" itemValue="#{c}"/>  
                            </p:selectOneMenu>

                            <p:outputLabel for="s" value="#{messages.S}"></p:outputLabel>
                            <p:selectOneMenu filter="true" filterMatchMode="contains" converter="#{sConverter}" required="true" id="s" value="#{nuevoProductoBean.nuevoProducto.s}" effect="fade">  
                                <f:selectItem itemLabel="#{messages.SeleccionaS}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.ss}" var="s" itemLabel="#{s.descripcion}" itemValue="#{s}"/>  
                            </p:selectOneMenu>

                            <p:outputLabel for="temporada" value="#{messages.Temporada}"></p:outputLabel>
                            <p:selectOneMenu filter="true" filterMatchMode="contains" converter="#{temporadaConverter}" required="true" id="temporada" value="#{nuevoProductoBean.nuevoProducto.temporada}" effect="fade">  
                                <f:selectItem itemLabel="#{messages.SeleccionaTemporada}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.temporadas}" var="temporada" itemLabel="#{temporada.descripcion}" itemValue="#{temporada}"/>  
                            </p:selectOneMenu>

                            <p:outputLabel for="serieTallaje" value="#{messages.SerieTallaje}"></p:outputLabel>
                            <p:selectOneMenu filter="true" filterMatchMode="contains" converter="#{serieTallajeConverter}" required="true" id="serieTallaje" value="#{nuevoProductoBean.nuevoProducto.serieTallaje}" effect="fade">  
                                <f:selectItem itemLabel="#{messages.SeleccionaSerieTallaje}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.seriesTallaje}" var="serieTallaje" itemLabel="#{serieTallaje.descripcion}" itemValue="#{serieTallaje}"/>  
                            </p:selectOneMenu>

                            <p:outputLabel for="sexo" value="#{messages.Sexo}"></p:outputLabel>
                            <p:selectOneMenu converter="#{sexoConverter}" required="true" id="sexo" value="#{nuevoProductoBean.nuevoProducto.sexo}" effect="fade">  
                                <f:selectItem itemLabel="#{messages.SeleccionaSexo}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.sexos}" var="sexo" itemLabel="#{sexo.descripcion}" itemValue="#{sexo}"/>  
                            </p:selectOneMenu>

                            <p:outputLabel for="proveedor" value="#{messages.Proveedor}"></p:outputLabel>
                            <p:selectOneMenu filter="true" filterMatchMode="contains" converter="#{proveedorConverter}" id="proveedor" value="#{nuevoProductoBean.nuevoProducto.proveedor}" effect="fade">  
                                <f:selectItem itemLabel="#{messages.SeleccionaProveedor}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.proveedores}" var="proveedor" itemLabel="#{proveedor.nombreComercial}" itemValue="#{proveedor}"/>  
                            </p:selectOneMenu>
                            
                            <p:outputLabel for="referenciaTela" value="#{messages.ReferenciaTela}"></p:outputLabel>
                            <p:inputText id="referenciaTela" value="#{nuevoProductoBean.nuevoProducto.referenciaTela}"></p:inputText>

                            <p:outputLabel for="minimoTela" value="#{messages.MinimoTela}"></p:outputLabel>
                            <p:inputText id="minimoTela" value="#{nuevoProductoBean.nuevoProducto.minimoTela}"></p:inputText>

                            <p:outputLabel for="fabricanteTela" value="#{messages.FabricanteTela}"></p:outputLabel>
                            <p:selectOneMenu filter="true" filterMatchMode="contains" converter="#{proveedorConverter}" id="fabricanteTela" value="#{nuevoProductoBean.nuevoProducto.fabricanteTela}" effect="fade">  
                                <f:selectItem itemLabel="#{messages.SeleccionaFabricanteTela}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.proveedores}" var="fabricanteTela" itemLabel="#{fabricanteTela.nombreComercial}" itemValue="#{fabricanteTela}"/>  
                            </p:selectOneMenu>

                            <p:outputLabel for="costeMetroTela" value="#{messages.CosteMetroTela}"></p:outputLabel>
                            <p:inputText id="costeMetroTela" value="#{nuevoProductoBean.nuevoProducto.costeMetroTela}"></p:inputText>

                            <p:outputLabel for="cmt" value="#{messages.Cmt}"></p:outputLabel>
                            <p:inputText id="cmt" value="#{nuevoProductoBean.nuevoProducto.cmt}"></p:inputText>

                            <p:outputLabel for="consumoUnitarioTela" value="#{messages.ConsumoUnitarioTela}"></p:outputLabel>
                            <p:inputText id="consumoUnitarioTela" value="#{nuevoProductoBean.nuevoProducto.consumoUnitarioTela}"></p:inputText>

                            <p:outputLabel for="minimoPedido" value="#{messages.MinimoPedido}"></p:outputLabel>
                            <p:inputText id="minimoPedido" value="#{nuevoProductoBean.nuevoProducto.minimoPedido}"></p:inputText>
                            
                            <p:outputLabel for="comentarios" value="#{messages.Comentarios}"></p:outputLabel>
                            <p:inputTextarea id="comentarios" value="#{nuevoProductoBean.nuevoProducto.comentarios}"></p:inputTextarea>

                           </h:panelGrid>
                        </p:panel> 
                    <p:commandButton process="@parent" icon="ui-icon-disk" update=":productoForm:productoGrowl :productoForm:productos panelDialogoNuevo" value="#{messages.Crear}" actionListener="#{nuevoProductoBean.crearProducto()}"></p:commandButton>
                    </p:dialog>
                    
                    <p:dialog id="dialogoEditarProducto" modal="true" widgetVar="dialogoEditarProducto"  header="#{messages.EditarProducto}">
                        <h:panelGrid id="panelDialogoEditar" columns="4">
                            <p:outputLabel for="editardescripcion" value="#{messages.Nombre}"></p:outputLabel>
                            <p:inputText required="true" id="editardescripcion" value="#{editarProductoBean.productoEditado.descripcion}">
                                <f:validateLength maximum="20"></f:validateLength>
                            </p:inputText>

                            <p:outputLabel for="editarcolor" value="#{messages.Color}"></p:outputLabel>
                            <p:inputText required="true" id="editarcolor" value="#{editarProductoBean.productoEditado.color}">
                                <f:validateLength maximum="8"></f:validateLength>
                            </p:inputText>

                            <p:outputLabel for="editarcotizacion" value="#{messages.Cotizacion}"></p:outputLabel>
                            <p:inputText required="true" id="editarcotizacion" value="#{editarProductoBean.productoEditado.cotizacion}">
                                <f:convertNumber minFractionDigits="2" maxFractionDigits="2" />
                            </p:inputText>

                            <p:outputLabel for="editarpvpEsp" value="#{messages.PvpEsp}"></p:outputLabel>
                            <p:inputText required="true" id="editarpvpEsp" value="#{editarProductoBean.productoEditado.pvp}">
                                <f:convertNumber minFractionDigits="2" maxFractionDigits="2" />
                            </p:inputText>

                            <p:outputLabel for="editard" value="#{messages.D}"></p:outputLabel>
                            <p:selectOneMenu filter="true" filterMatchMode="contains" converter="#{dConverter}" id="editard" required="true" value="#{editarProductoBean.productoEditado.d}" label="#{messages.D}">
                                <f:selectItem itemLabel="#{messages.SeleccionaD}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.ds}" var="d" itemLabel="#{d.descripcion}" itemValue="#{d}"></f:selectItems>
                            </p:selectOneMenu>

                            <p:outputLabel for="editarc" value="#{messages.C}"></p:outputLabel>
                            <p:selectOneMenu filter="true" filterMatchMode="contains" converter="#{cConverter}" required="true" id="editarc" value="#{editarProductoBean.productoEditado.c}" effect="fade">  
                                <f:selectItem itemLabel="#{messages.SeleccionaC}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.cs}" var="c" itemLabel="#{c.descripcion}" itemValue="#{c}"/>  
                            </p:selectOneMenu>

                            <p:outputLabel for="editars" value="#{messages.S}"></p:outputLabel>
                            <p:selectOneMenu filter="true" filterMatchMode="contains" converter="#{sConverter}" required="true" id="editars" value="#{editarProductoBean.productoEditado.s}" effect="fade">  
                                <f:selectItem itemLabel="#{messages.SeleccionaS}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.ss}" var="s" itemLabel="#{s.descripcion}" itemValue="#{s}"/>  
                            </p:selectOneMenu>

                            <p:outputLabel for="editartemporada" value="#{messages.Temporada}"></p:outputLabel>
                            <p:selectOneMenu filter="true" filterMatchMode="contains" converter="#{temporadaConverter}" required="true" id="editartemporada" value="#{editarProductoBean.productoEditado.temporada}" effect="fade">  
                                <f:selectItem itemLabel="#{messages.SeleccionaTemporada}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.temporadas}" var="temporada" itemLabel="#{temporada.descripcion}" itemValue="#{temporada}"/>  
                            </p:selectOneMenu>

                            <p:outputLabel for="editarserieTallaje" value="#{messages.SerieTallaje}"></p:outputLabel>
                            <p:selectOneMenu filter="true" filterMatchMode="contains" disabled="#{!editarProductoBean.puedeEditarSerieTallaje()}" converter="#{serieTallajeConverter}" required="true" id="editarserieTallaje" value="#{editarProductoBean.productoEditado.serieTallaje}" effect="fade">  
                                <f:selectItem itemLabel="#{messages.SeleccionaSerieTallaje}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.seriesTallaje}" var="serieTallaje" itemLabel="#{serieTallaje.descripcion}" itemValue="#{serieTallaje}"/>  
                            </p:selectOneMenu>

                            <p:outputLabel for="editarsexo" value="#{messages.Sexo}"></p:outputLabel>
                            <p:selectOneMenu filter="true" filterMatchMode="contains" converter="#{sexoConverter}" required="true" id="editarsexo" value="#{editarProductoBean.productoEditado.sexo}" effect="fade">  
                                <f:selectItem itemLabel="#{messages.SeleccionaSexo}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.sexos}" var="sexo" itemLabel="#{sexo.descripcion}" itemValue="#{sexo}"/>  
                            </p:selectOneMenu>

                            <p:outputLabel for="editarproveedor" value="#{messages.Proveedor}"></p:outputLabel>
                            <p:selectOneMenu filter="true" filterMatchMode="contains" converter="#{proveedorConverter}" id="editarproveedor" value="#{editarProductoBean.productoEditado.proveedor}" effect="fade">  
                                <f:selectItem itemLabel="#{messages.SeleccionaProveedor}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.proveedores}" var="proveedor" itemLabel="#{proveedor.nombreComercial}" itemValue="#{proveedor}"/>  
                            </p:selectOneMenu>

                            <p:outputLabel for="editarreferenciaTela" value="#{messages.ReferenciaTela}"></p:outputLabel>
                            <p:inputText id="editarreferenciaTela" value="#{editarProductoBean.productoEditado.referenciaTela}"></p:inputText>
                            
                            <p:outputLabel for="editarminimoTela" value="#{messages.MinimoTela}"></p:outputLabel>
                            <p:inputText id="editarminimoTela" value="#{editarProductoBean.productoEditado.minimoTela}"></p:inputText>

                            <p:outputLabel for="editarfabricanteTela" value="#{messages.FabricanteTela}"></p:outputLabel>
                            <p:selectOneMenu filter="true" filterMatchMode="contains" converter="#{proveedorConverter}" id="editarfabricanteTela" value="#{editarProductoBean.productoEditado.fabricanteTela}" effect="fade">  
                                <f:selectItem itemLabel="#{messages.SeleccionaFabricanteTela}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.proveedores}" var="fabricanteTela" itemLabel="#{fabricanteTela.nombreComercial}" itemValue="#{fabricanteTela}"/>  
                            </p:selectOneMenu>

                            <p:outputLabel for="editarcosteMetroTela" value="#{messages.CosteMetroTela}"></p:outputLabel>
                            <p:inputText id="editarcosteMetroTela" value="#{editarProductoBean.productoEditado.costeMetroTela}"></p:inputText>

                            <p:outputLabel for="editarcmt" value="#{messages.Cmt}"></p:outputLabel>
                            <p:inputText id="editarcmt" value="#{editarProductoBean.productoEditado.cmt}"></p:inputText>

                            <p:outputLabel for="editarconsumoUnitarioTela" value="#{messages.ConsumoUnitarioTela}"></p:outputLabel>
                            <p:inputText id="editarconsumoUnitarioTela" value="#{editarProductoBean.productoEditado.consumoUnitarioTela}"></p:inputText>

                            <p:outputLabel for="editarminimoPedido" value="#{messages.MinimoPedido}"></p:outputLabel>
                            <p:inputText id="editarminimoPedido" value="#{editarProductoBean.productoEditado.minimoPedido}"></p:inputText>

                            <p:outputLabel for="editaractivo" value="#{messages.Activo}"></p:outputLabel>
                            <p:selectBooleanButton id="editaractivo" onLabel="#{messages.Si}" offLabel="#{messages.No}" value="#{editarProductoBean.productoEditado.activo}" ></p:selectBooleanButton>
                            
                            <p:outputLabel for="editaretapa" value="#{messages.EtapaProducto}"></p:outputLabel>
                            <p:selectOneMenu filter="true" filterMatchMode="contains" required="true" converter="#{etapaProductoConverter}" id="editaretapa" value="#{editarProductoBean.productoEditado.etapa}" effect="fade">  
                                <f:selectItems value="#{resourcesBean.etapas}" var="etapa" itemLabel="#{etapa.descripcion}" itemValue="#{etapa}"/>  
                            </p:selectOneMenu>
                            
                            <p:outputLabel for="editarcomentarios" value="#{messages.Comentarios}"></p:outputLabel>
                            <p:inputTextarea id="editarcomentarios" value="#{editarProductoBean.productoEditado.comentarios}"></p:inputTextarea>
                            
                        </h:panelGrid>
                        <p:commandButton icon="ui-icon-disk" process="@parent" update=":productoForm:productoGrowl :productoForm:productos" value="#{messages.Guardar}" actionListener="#{editarProductoBean.editarProducto()}"></p:commandButton>
                    </p:dialog>
                    
                    
                    <p:dialog id="dialogoFiltrarProducto" modal="true" widgetVar="dialogoFiltrarProducto"  header="#{messages.FiltrarProducto}">
                        <h:panelGrid id="panelDialogoFiltrado" columns="2">
                            <p:outputLabel for="filtrarD" value="#{messages.D}"></p:outputLabel>
                            <p:selectOneMenu filter="true" filterMatchMode="contains" converter="#{dConverter}" id="filtrarD" value="#{listadoProductosBean.filtradoDataModel.DFiltrado}" label="#{messages.D}">
                                <f:selectItem itemLabel="#{messages.SeleccionaD}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.ds}" var="d" itemLabel="#{d.descripcion}" itemValue="#{d}"></f:selectItems>
                            </p:selectOneMenu>

                            <p:outputLabel for="filtrarC" value="#{messages.C}"></p:outputLabel>
                            <p:selectOneMenu filter="true" filterMatchMode="contains" converter="#{cConverter}" id="filtrarC" value="#{listadoProductosBean.filtradoDataModel.CFiltrado}" effect="fade">  
                                <f:selectItem itemLabel="#{messages.SeleccionaC}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.cs}" var="c" itemLabel="#{c.descripcion}" itemValue="#{c}"/>  
                            </p:selectOneMenu>

                            <p:outputLabel for="filtrarS" value="#{messages.S}"></p:outputLabel>
                            <p:selectOneMenu filter="true" filterMatchMode="contains" converter="#{sConverter}" id="filtrarS" value="#{listadoProductosBean.filtradoDataModel.SFiltrado}" effect="fade">  
                                <f:selectItem itemLabel="#{messages.SeleccionaS}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.ss}" var="s" itemLabel="#{s.descripcion}" itemValue="#{s}"/>  
                            </p:selectOneMenu>

                            <p:outputLabel for="filtrarTemporada" value="#{messages.Temporada}"></p:outputLabel>
                            <p:selectOneMenu filter="true" filterMatchMode="contains" converter="#{temporadaConverter}" id="filtrarTemporada" value="#{listadoProductosBean.filtradoDataModel.temporadaFiltrado}" effect="fade">  
                                <f:selectItem itemLabel="#{messages.SeleccionaTemporada}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.temporadas}" var="temporada" itemLabel="#{temporada.descripcion}" itemValue="#{temporada}"/>  
                            </p:selectOneMenu>

                            <p:outputLabel for="filtrarSerieTallaje" value="#{messages.SerieTallaje}"></p:outputLabel>
                            <p:selectOneMenu filter="true" filterMatchMode="contains" converter="#{serieTallajeConverter}" id="filtrarSerieTallaje" value="#{listadoProductosBean.filtradoDataModel.serieTallajeFiltrado}" effect="fade">  
                                <f:selectItem itemLabel="#{messages.SeleccionaSerieTallaje}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.seriesTallaje}" var="serieTallaje" itemLabel="#{serieTallaje.descripcion}" itemValue="#{serieTallaje}"/>  
                            </p:selectOneMenu>

                            <p:outputLabel for="filtrarSexo" value="#{messages.Sexo}"></p:outputLabel>
                            <p:selectOneMenu filter="true" filterMatchMode="contains" converter="#{sexoConverter}" id="filtrarSexo" value="#{listadoProductosBean.filtradoDataModel.sexoFiltrado}" effect="fade">  
                                <f:selectItem itemLabel="#{messages.SeleccionaSexo}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.sexos}" var="sexo" itemLabel="#{sexo.descripcion}" itemValue="#{sexo}"/>  
                            </p:selectOneMenu>

                            <p:outputLabel for="filtrarProveedor" value="#{messages.Proveedor}"></p:outputLabel>
                            <p:selectOneMenu filter="true" filterMatchMode="contains" converter="#{proveedorConverter}" id="filtrarProveedor" value="#{listadoProductosBean.filtradoDataModel.proveedorFiltrado}" effect="fade">  
                                <f:selectItem itemLabel="#{messages.SeleccionaProveedor}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.proveedores}" var="proveedor" itemLabel="#{proveedor.nombreComercial}" itemValue="#{proveedor}"/>  
                            </p:selectOneMenu>
                            
                            <p:outputLabel for="filtrarFabricanteTela" value="#{messages.FabricanteTela}"></p:outputLabel>
                            <p:selectOneMenu filter="true" filterMatchMode="contains" converter="#{proveedorConverter}" id="filtrarFabricanteTela" value="#{listadoProductosBean.filtradoDataModel.fabricanteTelaFiltrado}" effect="fade">  
                                <f:selectItem itemLabel="#{messages.SeleccionaFabricanteTela}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.proveedores}" var="fabricanteTela" itemLabel="#{fabricanteTela.nombreComercial}" itemValue="#{fabricanteTela}"/>  
                            </p:selectOneMenu>
                            
                            <p:outputLabel for="filtrarActivo" value="#{messages.Activo}"></p:outputLabel>
                            <p:selectOneMenu id="filtrarActivo" value="#{listadoProductosBean.filtradoDataModel.activoFiltrado}" effect="fade">  
                                <f:selectItem itemLabel="#{messages.Indiferente}" itemValue="" />  
                                <f:selectItem itemLabel="#{messages.Activo}" itemValue="#{true}" />
                                <f:selectItem itemLabel="#{messages.Inactivo}" itemValue="#{false}" />
                            </p:selectOneMenu>
                           
                        </h:panelGrid>
                        <p:commandButton process="@parent" update=":productoForm:productoGrowl :productoForm:productos" value="#{messages.Filtrar}" actionListener="#{listadoProductosBean.filtrar()}"></p:commandButton>
                    </p:dialog>
                    
                    <p:dialog modal="true" id="dialogoHistoricoProducto" widgetVar="dialogoHistoricoProducto"  header="#{messages.HistoricoProducto}">
                        <p:panel id="panelDialogoHistorico" styleClass="noMargin noPadding noBorder">
                            <p:dataTable value="#{listadoProductosBean.entidadElegida.historicoProductoList}" var="historico">
                                <p:column>
                                    <h:outputText value="#{historico.historico}"></h:outputText> 
                                </p:column>
                            </p:dataTable>
                        </p:panel>    
                    </p:dialog>
                    
                </h:form>
            </ui:define>
            <ui:define name="content">
                <h:form id="productoForm">
                    <p:growl autoUpdate="true" life="4000" id="productoGrowl"></p:growl>
                    <p:dataTable sortMode="multiple" filterDelay="1000" filteredValue="#{listadoProductosBean.entidadesFiltradas}" emptyMessage="#{messages.NoProductos}" resizableColumns="true" selectionMode="single" id="productos" var="producto" rowKey="#{producto.idProducto}" selection="#{listadoProductosBean.entidadElegida}" value="#{listadoProductosBean.listadoEntidades}">
                        <f:facet name="header">
                        <h:commandLink styleClass="actionButton" id="excel" value="#{messages.Excel}">
                            <p:dataExporter type="xls" target="productos" fileName="productos" />  
                        </h:commandLink>
                        <h:commandLink styleClass="actionButton" id="pdf" value="#{messages.Pdf}">
                            <p:dataExporter type="pdf" target="productos" fileName="productos" />  
                        </h:commandLink>
                            
                        </f:facet>
                        <p:ajax update=":barForm:barPanel" event="rowSelect" listener="#{listadoProductosBean.seleccionarEntidad()}"/> 
                        <p:ajax update=":barForm:barPanel" event="rowUnselect" listener="#{listadoProductosBean.deseleccionarEntidad()}"/>
                        <p:column sortBy="#{producto.c.descripcion}" headerText="#{messages.C}" filterBy="#{producto.c.descripcion}" filterMatchMode="contains" width="100">
                            <h:outputText value="#{producto.c.descripcion}"></h:outputText> 
                        </p:column>
                        <p:column sortBy="#{producto.temporada.descripcion}" headerText="#{messages.Temporada}" filterBy="#{producto.temporada.descripcion}" filterMatchMode="contains" width="60">
                            <h:outputText value="#{producto.temporada.descripcion}"></h:outputText> 
                        </p:column>
                        <p:column sortBy="#{producto.descripcion}" headerText="#{messages.Nombre}" filterBy="#{producto.descripcion}" filterMatchMode="contains" width="100">
                            <h:outputText value="#{producto.descripcion}"></h:outputText> 
                        </p:column>
                        <p:column sortBy="#{producto.color}" headerText="#{messages.Color}" filterBy="#{producto.color}" filterMatchMode="contains" width="120">
                            <h:outputText value="#{producto.color}"></h:outputText> 
                        </p:column>
                        <p:column sortBy="#{producto.pvp}" headerText="#{messages.PvpEsp}" width="50">
                            <h:outputText value="#{producto.pvp}">
                                <f:convertNumber minFractionDigits="2" maxFractionDigits="2" />
                            </h:outputText> 
                        </p:column>
                        <p:column sortBy="#{producto.cotizacion}" headerText="#{messages.Cotizacion}" width="30">
                            <h:outputText value="#{producto.cotizacion}">
                                <f:convertNumber minFractionDigits="2" maxFractionDigits="2" />
                            </h:outputText> 
                        </p:column>
                        <p:column sortBy="#{producto.pvp/producto.cotizacion}" headerText="#{messages.Multiplicador}" width="30">
                            <h:outputText rendered="#{listadoProductosBean.esCotizacionMayorQueCero(producto)}" value="#{producto.pvp/producto.cotizacion+0.01}">
                                <f:convertNumber minFractionDigits="2" maxFractionDigits="2" />
                            </h:outputText> 
                        </p:column>
                        <p:column sortBy="#{producto.proveedor.nombreComercial}" width="150" headerText="#{messages.Proveedor}" filterBy="#{producto.proveedor.nombreComercial}" filterMatchMode="contains">
                            <h:outputText rendered="#{producto.proveedor!=null}" value="#{producto.proveedor.nombreComercial}"></h:outputText> 
                            <h:outputText rendered="#{producto.proveedor==null}" value="#{messages.NoDisponible}"></h:outputText>
                        </p:column>
                        <p:column sortBy="#{producto.serieTallaje}" width="120" headerText="#{messages.SerieTallaje}" filterBy="#{producto.serieTallaje.descripcion}" filterMatchMode="contains">
                            <h:outputText value="#{producto.serieTallaje.descripcion}"></h:outputText>
                        </p:column>
                        <p:column sortBy="#{producto.activo}" width="80" headerText="#{messages.Activo}" filterBy="#{producto.activo}" filterMatchMode="contains">
                            <h:outputText value="#{producto.activo}"></h:outputText>
                        </p:column>
                    </p:dataTable>
                    
                </h:form>
            </ui:define>

        </ui:composition>

    </body>
</html>
